package com.unlp.javaclickers.modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

@Entity
@Table(name = "condicion")
public class Condicion {

	private Integer idCondicion;
	private String nombre;
	private Problema problema;
	private Integer valorMin;
	private Integer valorMax;
	private Problema problemaSiguiente;

	@Id
	@GeneratedValue
	@Column(name = "idCondicion")
	public Integer getIdCondicion() {
		return idCondicion;
	}

	public void setIdCondicion(Integer idCondicion) {
		this.idCondicion = idCondicion;
	}

	@OneToOne
	@JoinColumn(name = "idSiguienteProblema")
	@Cascade({ org.hibernate.annotations.CascadeType.LOCK })
	public Problema getProblemaSiguiente() {
		return problemaSiguiente;
	}

	public void setProblemaSiguiente(Problema problemaSiguiente) {
		this.problemaSiguiente = problemaSiguiente;
	}

	@Column(name = "valorMin")
	public Integer getValorMin() {
		return valorMin;
	}

	public void setValorMin(Integer valorMin) {
		this.valorMin = valorMin;
	}

	@Column(name = "valorMax")
	public Integer getValorMax() {
		return valorMax;
	}

	public void setValorMax(Integer valorMax) {
		this.valorMax = valorMax;
	}

	@Column(name = "nombre")
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@OneToOne
	@JoinColumn(name = "idProblema")
	@Cascade({ org.hibernate.annotations.CascadeType.LOCK })
	public Problema getProblema() {
		return problema;
	}

	public void setProblema(Problema problema) {
		this.problema = problema;
	}

	@Override
	public String toString() {
		return this.getNombre();
	}

}
